package createpattern.factory.simplefactory;
/**
 * 简单工厂 - 不是一种设计模式，反而比较像是一种编程习惯
 * 优点：
 * 封装了创建对象的过程，可以通过参数直接获取对象。把对象的创建和业务逻辑层分开，这样以后就避
 * 免了修改客户代码，如果要实现新产品直接修改工厂类，而不需要在原代码中修改，这样就降低了客户
 * 代码修改的可能性，更加容易扩展。
 * 缺点：
 * 增加新产品时还是需要修改工厂类的代码，违背了“开闭原则”。
 * */
public class Test {
    public static void main(String[] args) {
        // 这里可以发现创建起来很麻烦，需要new一个，所以有的人会将createCoffee设置为静态方法，这就是“静态工厂”
        SimpleCoffeeFactory simpleCoffeeFactory = new SimpleCoffeeFactory();
        Coffee americano = simpleCoffeeFactory.createCoffee("americano");
        System.out.println(americano.getName());
    }
}
